]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
panel,windowMenu: Update to meta_window_begin_grab_op() API change
authorCarlos Garnacho <carlosg@gnome.org>
Fri, 21 Oct 2022 18:21:13 +0000 (20:21 +0200)
committerMarge Bot <marge-bot@gnome.org>
Mon, 30 Jan 2023 12:19:22 +0000 (12:19 +0000)
Add device/sequence parameters.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2526>

js/ui/panel.js
js/ui/windowMenu.js

index 27bcfebb7fa8cfe5b473924bedb0ed5a2f975e0d..0dd62561f21ea00f800c23beda60cc4b1f71a48d 100644 (file)
@@ -548,6 +548,8 @@ class Panel extends St.Widget {
 
         return dragWindow.begin_grab_op(
             Meta.GrabOp.MOVING,
+            event.get_device(),
+            event.get_event_sequence(),
             event.get_time()) ? Clutter.EVENT_STOP : Clutter.EVENT_PROPAGATE;
     }
 
index 394de589f8313a3df18ba8483ab398f197c31061..83699d0cd370c16114593a4c888af372d21d8ce1 100644 (file)
@@ -1,7 +1,7 @@
 // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*
 /* exported WindowMenuManager */
 
-const {Meta, St} = imports.gi;
+const {Clutter, Meta, St} = imports.gi;
 
 const BoxPointer = imports.ui.boxpointer;
 const Main = imports.ui.main;
@@ -57,13 +57,39 @@ var WindowMenu = class extends PopupMenu.PopupMenu {
             item.setSensitive(false);
 
         item = this.addAction(_("Move"), event => {
-            window.begin_grab_op(Meta.GrabOp.KEYBOARD_MOVING, event.get_time());
+            const device = event.get_device();
+            const seat = device.get_seat();
+            const deviceType = device.get_device_type();
+            const pointer =
+                deviceType === Clutter.InputDeviceType.POINTER_DEVICE ||
+                deviceType === Clutter.InputDeviceType.TABLET_DEVICE ||
+                deviceType === Clutter.InputDeviceType.PEN_DEVICE ||
+                deviceType === Clutter.InputDeviceType.ERASER_DEVICE
+                    ? device : seat.get_pointer();
+
+            window.begin_grab_op(
+                Meta.GrabOp.KEYBOARD_MOVING,
+                pointer, null,
+                event.get_time());
         });
         if (!window.allows_move())
             item.setSensitive(false);
 
         item = this.addAction(_("Resize"), event => {
-            window.begin_grab_op(Meta.GrabOp.KEYBOARD_RESIZING_UNKNOWN, event.get_time());
+            const device = event.get_device();
+            const seat = device.get_seat();
+            const deviceType = device.get_device_type();
+            const pointer =
+                deviceType === Clutter.InputDeviceType.POINTER_DEVICE ||
+                deviceType === Clutter.InputDeviceType.TABLET_DEVICE ||
+                deviceType === Clutter.InputDeviceType.PEN_DEVICE ||
+                deviceType === Clutter.InputDeviceType.ERASER_DEVICE
+                    ? device : seat.get_pointer();
+
+            window.begin_grab_op(
+                Meta.GrabOp.KEYBOARD_RESIZING_UNKNOWN,
+                pointer, null,
+                event.get_time());
         });
         if (!window.allows_resize())
             item.setSensitive(false);